#ifndef SAXHELPER_H_
#define SAXHELPER_H_

#include <string>
#include <map>

using namespace std;

namespace phnq
{
	namespace kit
	{
		namespace xml
		{
			class SAXHelperDelegate
			{
				public:
					virtual void startTag(string tagName, string path, map<string,string> attrs) {}
					virtual void endTag(string tagName, string path, map<string,string> attrs) {}
					virtual void charData(string data, string path, map<string,string> attrs) {}
			};
			
			class SAXHelper
			{
				public:
					SAXHelper(SAXHelperDelegate *delegate);
					~SAXHelper();
					void parse(string file);
					
				private:
					SAXHelperDelegate *delegate;
			};
		}
	}
}

#endif // SAXHELPER_H_
